#pragma once

#include "sys/IInterface.h"
#include "PresentationID.h"

class PresentationContext;
interface Graphics;

interface IPresentationWorkflow : public IInterface
{
	DEFINE_IID(IID_PresentationWorkflow)

	virtual void Prepare(PresentationContext& context) = 0;
	virtual void Present(PresentationContext& context) = 0;
	virtual Graphics* GetGraphics() const = 0;

	//for inner usage
	virtual void SetKind(const String& kind) = 0;
	virtual const String& GetKind() const = 0;
};

